1. Technical Field
The present invention relates in general to system-on-a-chip (SoC) and in particular to the design of SoCs. Still more particularly, the present invention relates to a method, system and program product for collaborative web-based design of SoCs and integrated circuits.
2. Description of the Related Art
Technological improvements in integrated circuits (IC), particularly the advent of deep-submicron process technology, have led to the development of the system-on-a-chip (SoC), by which a complete, filly functional system is designed and integrated on a single silicon chip. Because of the large and increasing number of components (e.g., gates) that are becoming available, the application-specific integrated circuit (ASIC) designer is often unable to take full advantage of the technical potential for system integration, performance gains, and system cost savings. On the other hand the number of gates available in a SoC and number of Intellectual property cores (“IPs”) available to designers are growing at a much faster rate than the designer's ability to assimilate, and to be able to take full advantage in the current design environments.
Typically, with a majority of SoC design projects, the design expertise and associated CAD tools may be in different corporate locations and, in many cases, multiple corporations. Finding all the skilled candidates to complete specific design tasks in a single geographical location is often impossible, and it is common for the various design teams to be located in different states, or even in different countries. As a result, collaboration around the traditional white board within a single location has been replaced by remote tele-commuting among design teams, and completing design projects with such a geographically dispersed design teams, is quickly becoming commonplace.
Because of the need for collaborative efforts between the various design teams in designing a SoC, SoC development is very difficult when these various design teams are separated by geographic locations and time zones, face language and cultural barriers, and share different design quality standards. In many cases, there are major differences between the customer design team, which is familiar with and drives the system functions and requirements, and the foundry team (such as, e.g., IBM, Intel, Motorola, and DEC), who provides the development expertise, the manufacturing technology know-how, and DA tools and services (such as cadence, synopsis, cardtools, etc.).
Additional complexity is added to the design process because each design team may be working on a different platform (i.e., hardware and operating system (OS)) and generating proprietary design specification files. Due to continued pressure to decrease the design cycle and Time-To-Market (because of the need to keep ahead of competitors and to keep up with the pace of technological improvements), it is not usually possible for all parties to converge to one set of tools and standards. Further, in many cases, the customer design team may not want to completely adopt the foundry design team's tool set, standards and methodology since the customer design team's next design project may be more suitable for a different foundry with a different tool set and set of standards. In addition, it is both costly and time consuming for customer design teams to train their personnel and to optimize and verify new design processes for each new design project. Cost associated with acquiring a new set of tools and expertise is another inhibitor to adopting traditional design methodologies (i.e., fully adopting foundry compatible design methodology).
As SoC designs become more challenging, many companies will choose to out-source pieces of the design task, such as IP design and optimization, synthesis and timing, physical design, and manufacturing. This out sourcing helps to cut development costs. However, outsourcing means that design teams have to share (i.e., collaborate) information, designs, libraries, and even design-automation tools amongst themselves. Unfortunately, because of the globalized location of today's design teams, this collaboration is not an easy task with the traditional communication method (e.g., phone, fax, email, mail, or express mail). Relocating each group of a design team to a single location is also impractical and extremely costly (i.e., airfare, accommodations, equipment/tool purchase, etc).
There are several prior art systems which provide methods for sharing resources in a multi-user environment and organizing and working with networked data, etc. For example: U.S. Pat. No. 5,644,768 provides a concurrent data access in a database management systems environment; U.S. Pat. No. 6,018,716 provides a group consensus environment where all participants are working on the same problem, and U.S. Pat. No. 5,822,585 describes an object-oriented framework to build cooperative objects, which are then utilized to build distributed or cooperative applications.
None of the prior art methods, however, provide a solution for efficiently designing a SoC when the design teams are geographically dispersed and are utilizing different tools, standards, and formats, etc. The present invention thus recognizes that it would be both advantageous and desirable to provide a method, system, and program product for enabling collaborative design and verification of SoCs by geographically dispersed design teams. A method, system, and program product that permits such collaborative design and verification of SoC from separate design team specific applications and tools utilizing the Internet and XML functionality would be a welcomed improvement. These and other benefits are provided in the present invention.